The present invention relates to a wireless routing system and method for exchanging data items between one or more host services and a plurality of mobile devices.
To get around the problem of pushing information to a mobile device, most systems today either use a pull paradigm to get information to the mobile device, or they warehouse information until the handheld device plugs into a serial port to download the bulk information. Those systems that do exist for wireless networks are generally gateways and proxy servers. Gateway systems generally act to accept wireless handheld requests and perform synchronization and transport functions to ensure the information is delivered using a pull paradigm. Proxy servers work at either the transport or application level to “spoof” protocols into believing everything is working successfully.
The need to continuously push information to a handheld device is still present in the wireless industry today. Instead of warehousing (or storing) the user's data items at the host system and then “synchronizing” the mobile data communication device to data items stored at the host system when the mobile device requests that such items of information be communicated to it, the present invention allows advanced applications to implement a “push” paradigm that continuously packages and retransmits the user-selected items of information to the mobile device through a routing system. Wireless mobile data communications devices, especially those that can return a confirmation signal to the host that the pushed data has been received are especially well suited for this type of push paradigm.
In the router paradigm, attempts to address simple connectivity to one or more wireless networks have not developed a commercially feasible wireless router capable of supporting push to a community of host services and mobile devices. This problem is difficult and requires a specialized solution given the anomalies found in wireless data networks. Instead, these infrastructure manufacturers are building internal network switches for the wireless networks, which simply solve the problem of moving data from A to B, with no concern about ensuring end-to-end delivery of datagrams and providing push services that can abstract away network issues. The problems of guaranteed end-to-end delivery are more complex and require a specialized wireless router to be developed.
Those present systems and methods for replicating information from a host system to a user's mobile data communication device are typically “synchronization” systems in which the user's data items are warehoused or stored at the host system for an indefinite period of time and then transmitted in bulk only in response to a user request. In these types of systems and methods, when replication of the warehoused data items to the mobile device is desired, the user typically places the mobile device in an interface cradle that is electrically connected to the host system via some form of local, dedicated communication, such as a serial cable or an infrared or other type of wireless link. Software executing on the mobile data communication device then transmits commands via the local communications link to the host system to cause the host to begin transmitting the user's data items for storage in a memory bank of the mobile device. In these synchronization schemes, the mobile unit “pulls” the warehoused information from the host system in a batch each time the user desires to replicate information between the two devices. Therefore, the two systems (host and mobile) only maintain the same data items after a user-initiated command sequence that causes the mobile device to download the data items from the host system. A general problem with these synchronization systems is that the only time that the user data items are replicated between the host system and the mobile data communication device is when the user commands the mobile device to download or pull the user data from the host system. Shortly thereafter a new message could be sent to the user, but the user would not receive that message until the next time the user fetches the user data items. Thus, a user may fail to respond to an emergency update or message because the user only periodically synchronizes the system, such as once per day. Other problems with these systems include: (1) the amount of data to be reconciled between the host and the mobile device can become large if the user does not “synchronize” on a daily or hourly basis, leading to bandwidth difficulties, particularly when the mobile device is communicating via a wireless packet-switched network; and (2) reconciling large amounts of data, as can accrue in these batch-mode synchronization systems, can require a great deal of communication between the host and the mobile device, thus leading to a more complex, costly and energy-inefficient system. A more automated, continuous, efficient and reliable system of ensuring that user data items are replicated at the user's mobile device is therefore needed.
There remains a general need for a routing system and method through which such user-selected data items or portions thereof can be pushed from a host system to a mobile data communication device, to thereby provide for “always on, always connected” functionality of the mobile device and mirroring of host system data items at the mobile device.
There remains an additional need for such a system and method that provides flexibility in the types and quantities of user data items that are pushed from the host system to the mobile data communication device and that also provides flexibility in the configuration and types of events that can serve to trigger the redirection of the user data items.
There is a related need for a transparent routing system and method that provides end-to-end security for user-selected data items pushed from a host system to a mobile communication device. Particularly where the host system is located behind a firewall, there is a need for a secure routing system and method that effectively extends the firewall to the mobile device.
A further need remains for a single routing system and associated method that can push data items from a sending host system on any of a plurality of communication networks to a destination mobile device on any of a further plurality of similar or dissimilar wireless data communication networks located anywhere in the world.
A further need remains for a routing system that supports push messaging that provides protection to the mobile device for unwanted information. The concept of an individualized firewall agent will be disclosed that gives control to the owner and user of the mobile device to stop unwanted services from sending junk mail, or denial-of-service attacks at the mobile device.
There remains an additional need for such a system and method that provides flexibility in the types and quantities of user data items that are pushed from the host system to the mobile data communication device.